{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from utils import *\n",
    "import pygame\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "SCALE = 0.4  # 最小分辨率，0.5mm\n",
    "NET_WIDTH = 3    #  mm\n",
    "NET_SIZE = 40  # mm 外围\n",
    "\n",
    "RADIOS = 15  # mm 铁块半径\n",
    "CILCLE_INTERVAL = 40  # mm 铁块间距\n",
    "\n",
    "_NUM_COL = 3 # 铁块布置数量\n",
    "_NUM_RAW = 3\n",
    "\n",
    "_WIDTH = 160 # mm\n",
    "_HEIGHT = 160 # mm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "def my_draw_block(surf, x, y):\n",
    "    list_block =[]\n",
    "    for i in range(_NUM_COL):\n",
    "        for j in range(_NUM_RAW):\n",
    "            now_x = x+i*(CILCLE_INTERVAL//SCALE)\n",
    "            now_y = y+j*(CILCLE_INTERVAL//SCALE)\n",
    "            pygame.draw.circle(surf, (255, 0, 0), (now_x, now_y), (RADIOS//SCALE))\n",
    "            \n",
    "            minx = now_x-(RADIOS//SCALE) if now_x-(RADIOS//SCALE) > 0 else 0\n",
    "            maxx = now_x+(RADIOS//SCALE) if now_x+(RADIOS//SCALE) < _WIDTH//SCALE else _WIDTH//SCALE\n",
    "            miny = now_y-(RADIOS//SCALE) if now_y-(RADIOS//SCALE) > 0 else 0\n",
    "            maxy = now_y+(RADIOS//SCALE) if now_y+(RADIOS//SCALE) < _HEIGHT//SCALE else _HEIGHT//SCALE\n",
    "            list_block.append([  int(minx), \n",
    "                                 int(maxx),\n",
    "                                 int(miny), \n",
    "                                 int(maxy)])\n",
    "    return list_block"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1d067527610>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Wli7dm1YP61rDh48yO7duxkyZAgTJ04kKysrbB927txJVVWVc/swYsQIioqKwmKtq6tj8+bNoVhLSkqora1ly5YtoXXWrVtHS0tL6E3jgnfffZf9+/czZMgQwF7cxhgWLVrEypUrWbduHSNGjAhbHs3ro6SkhO3bt4cl2TVr1hAIBEJdQX7H3ZHKykqAsDb3O+6OtLS00NDQ4GxbRxN7R1xt7x6zPXIjVo8++qjJyckxK1asMK+99pq55pprTF5eXtgIFtuWLFli1q9fb/bs2WP+/Oc/m6lTp5r8/Hyzb98+Y4w37HXYsGFm3bp15pVXXjElJSWmpKTESqz19fVm69atZuvWrQYw9957r9m6dat5++23jTHeEPS8vDzz1FNPmW3btpnZs2d3OAT9ox/9qNm8ebPZuHGjOeOMMxI+lLuzuOvr683Xv/51U1FRYfbs2WP+9Kc/mY997GPmjDPOMEePHrUa93XXXWdyc3PN+vXrw4YOHz58OLROV6+PtqHF06ZNM5WVlWb16tVm8ODBCR1a3FXcu3btMnfeead55ZVXzJ49e8xTTz1lRo4caSZPnmw17m984xumvLzc7Nmzx2zbts184xvfMBkZGea5554zxrjZ1tHE7mp7J0LSJSljjPnpT39qhg0bZrKzs815551nNm3aZDukMJdffrkZMmSIyc7ONqeccoq5/PLLza5du0LLjxw5Yq6//nozYMAA07dvX3PppZeavXv3Won1+eefN8CHyvz5840x3jD0W2+91RQWFpqcnBwzZcoUs3PnzrBt7N+/38ydO9f069fPBAIBc+WVV5r6+nprcR8+fNhMmzbNDB482GRlZZnhw4ebBQsWfOiLjI24O4oZMA8++GBonWheH2+99ZaZOXOm6dOnj8nPzzdLliwxjY2N1uKuqqoykydPNgMHDjQ5OTlm1KhRZunSpWHX7diI+6qrrjLDhw832dnZZvDgwWbKlCmhBGWMm20dTeyutnci6Kc6RETEWUl1TkpERNKLkpSIiDhLSUpERJylJCUiIs5SkhIREWcpSYmIiLOUpERExFlKUiIi4iwlKRERcZaSlIiIOEtJSkREnKUkJSIizvr/THjbAnf35k4AAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# clock = pygame.time.Clock()\n",
    "pygame.init()\n",
    "# screen = pygame.display.set_mode((_WIDTH//SCALE, _HEIGHT//SCALE))\n",
    "surf_world = pygame.Surface((_WIDTH//SCALE, _HEIGHT//SCALE))\n",
    "surf_circle = pygame.Surface((_WIDTH//SCALE, _HEIGHT//SCALE))\n",
    "\n",
    "\n",
    "draw_net(surf_world)\n",
    "list_block = my_draw_block(surf_circle, 60, 30)\n",
    "\n",
    "img_world = surf_to_ndarray(surf_world)\n",
    "img_circle = surf_to_ndarray(surf_circle)\n",
    "\n",
    "out = img_world+img_circle\n",
    "idx = 5\n",
    "\n",
    "# show = out[list_block[idx][2]:list_block[idx][3],list_block[idx][0]:list_block[idx][1],  :].copy()\n",
    "# out[list_block[idx][2]:list_block[idx][3],list_block[idx][0]:list_block[idx][1],  :] = 255\n",
    "\n",
    "# for i in show.reshape(-1,3):\n",
    "#     if np.sum(i) == 510:\n",
    "#         print(i)\n",
    "surf_out = ndarray_to_surf(out)\n",
    "plt.imshow(out)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.image.AxesImage at 0x1d06c9bcbe0>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "points = list_block\n",
    "array = out\n",
    "temp_array = np.zeros((int(2*RADIOS//SCALE), int(2*RADIOS//SCALE)), dtype=np.int16)\n",
    "minx, maxx, miny, maxy = points[0]\n",
    "for channel in range(3):\n",
    "    temp_array[0:maxy-miny,0:maxx-minx] = temp_array[0:maxy-miny,0:maxx-minx] + array[miny:maxy,minx:maxx,  channel]\n",
    "\n",
    "plt.imshow(temp_array, cmap='gray')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "200"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(temp_array[temp_array>255]) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.650253998302274"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "200 / (np.pi*((RADIOS//SCALE)**2)) * 100"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = [1,2,3,45,5]\n",
    "star = \"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'[1, 2, 3, 45, 5]'"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "star.join(str(a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
